/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	XMLParser.h
*
*	Description -	XML Parser Wrapper
*
*	Comments	-	
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	08/08/2011	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_XML_PARSER_H_
#define _PSX_XML_PARSER_H_

#include "PulseSTD.h"
#include "Singleton.h"
#include "XMLElement.h"
#include "XMLDocument.h"

namespace Pulse
{
	class XMLParser /*: public Singleton< XMLParser >*/
	{
	public:
		
		static EErrorCode::Type Initialize( void );

		static void Shutdown( void );

		static XMLDocumentPtr Load( const CHAR *pFilename );

	private:

		friend class Singleton<XMLParser>;

		XMLParser( void ) { }
		XMLParser( XMLParser & ) { }
		virtual ~XMLParser( void );
		XMLParser & operator = ( XMLParser &rhs );

	private:

		static void SetValidate( BOOL validate );

	private:

		static BOOL m_bValidation;

	};
}

#endif /* _PSX_XML_PARSER_H_ */